Function.prototype._call = function (context, ...args) {
  if (typeof context !== 'object') context = new Object(context);
  const funKey = Symbol();
  context[funKey] = this;
  const res = context[funKey](...args);
  delete context[funKey];
  return res;
};

function test() {
  console.log('hello,', this.name);
}

test.call({ name: 'yang' });
